import 'package:flutter/material.dart';
import 'package:magic_car/jiance/b_gurateedetial.dart';
import 'package:magic_car/jiance/jiance_detail.dart';
import 'package:magic_car/jiance/start.dart';
import 'package:magic_car/util/HttpHelper.dart';
import 'package:shared_preferences/shared_preferences.dart';

import 'package:toast/toast.dart';
class BGurateOrderRecPage extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return new ActState();
  }
}

class ActState extends State<BGurateOrderRecPage> with SingleTickerProviderStateMixin {
  List<Choice> _tabs = [];
  TabController mTabController;
  int mCurrentPosition = 0;
  List orders = [];
  int type = 0;
  String status="1";
  @override
  @override
   Widget build(BuildContext context) {
     if(status=="1"){
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('保修记录'),
        backgroundColor: Colors.white,
        elevation: 0,
        bottom: new TabBar(
          indicatorSize: TabBarIndicatorSize.label,
          indicatorColor: Color.fromRGBO(255, 204, 48, 1),
          labelColor: Color.fromRGBO(255, 204, 48, 1),
          unselectedLabelColor: Colors.black45,
          tabs: _tabs.map((Choice choice) {
            return new Tab(
              text: choice.title,
            );
          }).toList(),
          controller: mTabController,
        ),
      ),

      // body: NestedScrollView(
      //   headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
      //     return [
      //       new SliverAppBar(
      //         pinned: true,
      //         expandedHeight: 0.0,
      //         title: Text('订单'),
      //         backgroundColor: Colors.white,
      //          bottom:  new TabBar(
      //                 indicatorSize: TabBarIndicatorSize.label,
      //                 indicatorColor: Color.fromRGBO(27, 182, 251, 1),
      //                 labelColor: Color.fromRGBO(27, 182, 251, 1),
      //                 unselectedLabelColor: Colors.black45,
      //                 tabs: _tabs.map((Choice choice) {
      //                   return new Tab(
      //                     text: choice.title,
      //                     icon: new Icon(
      //                       choice.icon,
      //                     ),
      //                   );
      //                 }).toList(),
      //                 controller: mTabController,

      //             ),
      //            // preferredSize: new Size(double.infinity, 64.0),
      //         // bottom: PreferredSize(
      //         //     child: new Container(
      //         //       color: Colors.white,
      //         //       child: new TabBar(
      //         //         indicatorSize: TabBarIndicatorSize.label,
      //         //         indicatorColor: Color.fromRGBO(27, 182, 251, 1),
      //         //         labelColor: Color.fromRGBO(27, 182, 251, 1),
      //         //         unselectedLabelColor: Colors.black45,
      //         //         tabs: _tabs.map((Choice choice) {
      //         //           return new Tab(
      //         //             text: choice.title,
      //         //             icon: new Icon(
      //         //               choice.icon,
      //         //             ),
      //         //           );
      //         //         }).toList(),
      //         //         controller: mTabController,
      //         //       ),
      //         //     ),
      //         //     preferredSize: new Size(double.infinity, 64.0)),
      //       )
      //     ];
      //   },
      body: new TabBarView(
        children: _tabs.map((Choice choice) {
          return new Padding(
              padding: const EdgeInsets.all(0.0),
              child: new Container(
                  child: new ListView(
                children: <Widget>[buildcontent()],
              )));
        }).toList(),
        controller: mTabController,
      ),
    );
     }else{
       return new Scaffold(
        appBar: new AppBar(
          title: new Text('订单'),
          backgroundColor: Colors.white,
          elevation: 0,
        ),
        body: new Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              Text('您的账号正在审核，请耐心等待！')
              
              // userinfo["failreason"]!=""?
              // Padding(padding: new EdgeInsets.fromLTRB(0, 10, 0, 0),child:
              // FlatButton(onPressed: (){
              // Navigator.pushNamed(context, "exam");
              // }, child:
              // new Text(''),
              // color: Color.fromRGBO(27, 182, 251, 1),
              // ) ):new Text(''),
            ],
          ),
        ),
      );
     }
  }
loaduserinfo() async {
    // LoadingPage loadpage = new LoadingPage(context);
    // loadpage.show();
    SharedPreferences pref = await SharedPreferences.getInstance();
    Map<String, String> map = new Map();
    map["id"] = pref.getString('uid');

    HttpHelper.post(HttpHelper.API_BusinessInfo,(data) async {
      //loadpage.close();
      if (data != null) {
        print(data);
        //Toast.show(data["msg"], context);

        if (data["code"].toString() == "1") {
          if (data["info"]["avatar"].length != 0) {
            setState(() {
              // avatar = data["info"]["avatar"];
            });
          }
          var info = data["info"];
          setState(() {
            status = info["status"].toString();
          });
        }
      }
    }, params: map);
  }
  @override
  void initState() {
    super.initState();
     _tabs.add(Choice(title: '待处理', position: 0));
    _tabs.add(Choice(title: '进行中', position: 1));
     _tabs.add(Choice(title: '待评价', position: 2));
    _tabs.add(Choice(title: '已完成', position: 3));
    mTabController = new TabController(vsync: this, length: _tabs.length);
    //判断TabBar是否切换
    mTabController.addListener(() {
      if (mTabController.index == mCurrentPosition) return;
      print('滑动监听' + mTabController.index.toString());
      setState(() {
        mCurrentPosition = mTabController.index;
        // if(mTabController.index==0)type=1;
        // else type = 3;
        type = mTabController.index;
      });
      loaddata(); //滑动时加载数据
    });
   // loaduserinfo();
    loaddata();
  }
  //加载数据
  loaddata() async{
   Map<String, String> map = new Map();
   SharedPreferences pref = await SharedPreferences.getInstance();
   map["id"]=pref.getString('uid');
   map["type"] = type.toString();
   map["bussiness"]="1";

    HttpHelper.post(HttpHelper.API_UserOrderList, (data) async {
      if (data != null) {
        
        
         print(data);
        if (data["code"].toString() == "1") {
          setState(() {
            orders=data["info"];
          });
          //pref.setStringList('userinfo', data["info"]);

         
        }
      }
    }, params: map);
  }

  @override
  void dispose() {
    super.dispose();
    mTabController.dispose();
  }

  Widget buildcontent() {
    List<Widget> tiles = [];
    Widget content;
    if (orders.length == 0) {
      tiles.add(Center(
          child: Column(
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
            Padding(
                padding: new EdgeInsets.fromLTRB(
                    15, MediaQuery.of(context).size.height / 2 - 100, 15, 0),
                child: new Text('暂无订单数据'))
          ])));
    } else{
    for (var i = 0; i < orders.length; i++) {
      var order = orders[i];
      tiles.add(Padding(
          padding: new EdgeInsets.fromLTRB(15, 10, 15, 0),
          child: Container(
            decoration: new BoxDecoration(
              color: Colors.white,
            ),
            child: Column(
              children: <Widget>[
                Padding(
                  padding: new EdgeInsets.fromLTRB(20, 10, 20, 10),
                  child: Row(
                    children: <Widget>[
                      Expanded(
                          flex: 2,
                          child: new Text(
                            order["order_sn"],
                            style:
                                TextStyle(color: Color.fromRGBO(51, 51, 51, 1),fontSize: 13),
                          )),
                      Expanded(
                        flex: 1,
                        child: new Align(
                            alignment: Alignment.centerRight,
                            child: Container(
                                padding: new EdgeInsets.fromLTRB(5, 2, 5, 2),
                                color: Color.fromRGBO(255, 204, 48, 0.3),
                                child: new Text(
                                  order["test_type"],
                                  style: TextStyle(
                                      color: Color.fromRGBO(255, 204, 48, 1),
                                      fontSize: 12),
                                ))),
                      )
                    ],
                  ),
                ),
                Padding(
                  padding: new EdgeInsets.fromLTRB(20, 10, 20, 10),
                  child: Row(
                    children: <Widget>[
                      Expanded(
                          flex: 1,
                          child: new Text(
                            '联系电话',
                            style: TextStyle(
                                fontSize: 12,
                                color: Color.fromRGBO(51, 51, 51, 1)),
                          )),
                      Expanded(
                        flex: 1,
                        child: new Align(
                            alignment: Alignment.centerRight,
                            child: Container(
                                child: new Text(
                              order["phone_num"],
                              style: TextStyle(
                                  color: Color.fromRGBO(153, 153, 153, 1),
                                  fontSize: 12),
                            ))),
                      )
                    ],
                  ),
                ),
                Padding(
                  padding: new EdgeInsets.fromLTRB(20, 0, 20, 10),
                  child: Row(
                    children: <Widget>[
                      // Expanded(
                      //     flex: 1,
                      //     child: 
                          new Text(
                            '检测时间',
                            style: TextStyle(
                                fontSize: 12,
                                color: Color.fromRGBO(51, 51, 51, 1)),
                          ),
                          //),
                      Expanded(
                        
                        child: new Align(
                            alignment: Alignment.centerRight,
                            child: Container(
                                child: new Text(
                              order["order_time"],
                              style: TextStyle(
                                  color: Color.fromRGBO(153, 153, 153, 1),
                                  fontSize: 12),
                            ))),
                      )
                    ],
                  ),
                ),
                Padding(
                  padding: new EdgeInsets.fromLTRB(20, 0, 20, 10),
                  child: Row(
                    children: <Widget>[
                      Expanded(
                          flex: 1,
                          child: new Text(
                            '价格',
                            style: TextStyle(
                                fontSize: 12,
                                color: Color.fromRGBO(51, 51, 51, 1)),
                          )),
                      Expanded(
                        flex: 1,
                        child: new Align(
                            alignment: Alignment.centerRight,
                            child: Container(
                                child: new Text(
                              order["orderPrice"],
                              style: TextStyle(
                                  color: Color.fromRGBO(251, 73, 57, 1),
                                  fontSize: 12),
                            ))),
                      )
                    ],
                  ),
                ),
                Padding(
                  padding: new EdgeInsets.fromLTRB(20, 0, 20, 10),
                  child: Row(
                    children: <Widget>[
                      Expanded(
                          flex: 1,
                          child: new Text(
                            '汽车品牌',
                            style: TextStyle(
                                fontSize: 12,
                                color: Color.fromRGBO(51, 51, 51, 1)),
                          )),
                      Expanded(
                        flex: 1,
                        child: new Align(
                            alignment: Alignment.centerRight,
                            child: Container(
                                child: new Text(
                                  '暂无',
                              // order["brand_string"]["name"],
                              style: TextStyle(
                                  color: Color.fromRGBO(153, 153, 153, 1),
                                  fontSize: 12),
                            ))),
                      )
                    ],
                  ),
                ),
                Padding(
                  padding: new EdgeInsets.fromLTRB(20, 10, 20, 10),
                  child: Align(
                      alignment: Alignment.centerRight,
                      child: new Container(
                        child: new Material(
                          //INK可以实现装饰容器
                          child: new Ink(
                            //用ink圆角矩形
                            // color: Colors.red,
                            decoration: new BoxDecoration(
                              //背景
                              color: Colors.white,
                              //设置四周圆角 角度
                              borderRadius:
                                  BorderRadius.all(Radius.circular(15.0)),
                              //设置四周边框
                              border:
                                  new Border.all(width: 1, color: Color.fromRGBO(255, 204, 48, 1)),
                            ),
                            child: new InkWell(
                                //圆角设置,给水波纹也设置同样的圆角
                                //如果这里不设置就会出现矩形的水波纹效果
                                borderRadius: new BorderRadius.circular(15.0),
                                //设置点击事件回调
                                onTap: () {
                                  print(order["id"].toString());
                                  // Navigator.pushNamed(context, 'jianceorder_detail');
                                   Navigator.of(context)
                          .push(new MaterialPageRoute(builder: (_) {
                        return new GurateedetailPage(order["id"].toString());
                      }));
                                },
                                child: Container(
                                  //设置 child 居中
                                  alignment: Alignment(0, 0),
                                  height: 30,
                                  width: 85,
                                  child: Text("查看订单",style: TextStyle(color: Color.fromRGBO(255, 204, 48, 1)),),
                                )),
                          ),
                        ),
                      )
                      // child: new RaisedButton(
                      //   child: Text('申请补考'),
                      //   onPressed: () {},
                      // ),
                      ),
                ),
              ],
            ),
          )));
    }
    }
    content = new Column(
        children: tiles //重点在这里，因为用编辑器写Column生成的children后面会跟一个<Widget>[]，
        //此时如果我们直接把生成的tiles放在<Widget>[]中是会报一个类型不匹配的错误，把<Widget>[]删了就可以了
        );
    return content;
  }
}

Widget buttons() {
  Widget button = Container(
    margin: EdgeInsets.only(left: 40, top: 40),
    child: new Material(
      //INK可以实现装饰容器
      child: new Ink(
        //用ink圆角矩形
        // color: Colors.red,
        decoration: new BoxDecoration(
          //背景
          color: Colors.white,
          //设置四周圆角 角度
          borderRadius: BorderRadius.all(Radius.circular(25.0)),
          //设置四周边框
          border: new Border.all(width: 1, color: Colors.red),
        ),
        child: new InkWell(
            //圆角设置,给水波纹也设置同样的圆角
            //如果这里不设置就会出现矩形的水波纹效果
            borderRadius: new BorderRadius.circular(25.0),
            //设置点击事件回调
            onTap: () {},
            child: Container(
              //设置 child 居中
              alignment: Alignment(0, 0),
              height: 50,
              width: 300,
              child: Text("点击 Container 圆角边框"),
            )),
      ),
    ),
  );
  return button;
}

class Choice {
  const Choice({this.title, this.icon, this.position});
  final String title;
  final int position;
  final IconData icon;
}
